﻿#ifndef MANMODELS_H
#define MANMODELS_H

#include <QObject>
#include <QStandardItemModel>
#include "src/middle/structs/cloudmodels.h"

/// @brief 管理数据模型
///     用于管理数据模型的类, 提供了表格模型的管理功能,
///     主要用于存储桶(Buckets)和对象(Objects)数据. 这类设计使用了 Qt 的
///     QStandardItemModel, 该模型用于显示二维表格数据.
///
class ManModels: public QObject
{
    Q_OBJECT

private:
    QStandardItemModel* m_modelBuckets = nullptr; // 存储桶表格模型
    QStandardItemModel* m_modelObjects = nullptr; // 对象表格模型

public:
    explicit ManModels(QObject* parent = nullptr);
    QStandardItemModel* modelBuckets() const;
    QStandardItemModel* modelObjects() const;

private slots:
    void setBuckets(const QList<MyBucket>& buckets);
    void setObjects(const QList<MyObject>& objects);

private:
    void initBucketsTable();
    void initObjectsTable();
};

#endif // MANMODELS_H
